#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include "personnel.h"
#include "gestion_personnel.h"

int recherche_personnel_immat(FILE *FICHE_MEDECIN,personnel *p,int immatr)
{char NOM[20],PRENOM[20],SPEC[20],SANG[20]; int IM,find;
FICHE_MEDECIN = fopen("personnel.txt" , "r");	
	find = 0;
	
while ( !feof(FICHE_MEDECIN) && find == 0)
{
fscanf(FICHE_MEDECIN,"%d %s %s %s %s",&IM,NOM,PRENOM,SPEC,SANG); 
	if (IM == immatr) 
	{
	find=1;
	(*p).IM_PERS = IM;
	strcpy((*p).NOM_PERS,NOM);
	strcpy((*p).PRENOM_PERS,PRENOM);
	strcpy((*p).SPEC_PERS,SPEC);
	strcpy((*p).SANG_PERS,SANG);
	}
}
fclose(FICHE_MEDECIN);
return (find);
}

int recherche_personnel_nom(FILE *FICHE_MEDECIN,personnel tab[],char nomr[])
{int IM,find; char NOM[20],PRENOM[20],SANG[20],SPEC[20];
FICHE_MEDECIN = fopen("personnel.txt" , "r");
	find = 0;
	while (!feof(FICHE_MEDECIN))
	{
	fscanf(FICHE_MEDECIN,"%d %s %s %s %s",&IM,NOM,PRENOM,SPEC,SANG);
		if (strcmp(NOM,nomr) == 0)
		{
		tab[find].IM_PERS = IM;
		strcpy(tab[find].NOM_PERS,NOM);
		strcpy(tab[find].PRENOM_PERS,PRENOM);
		strcpy(tab[find].SPEC_PERS,SPEC);
		strcpy(tab[find].SANG_PERS,SANG);
		find++;
		}
	}
fclose(FICHE_MEDECIN);
return(find);
}

int recherche_personnel_prenom(FILE *FICHE_MEDECIN,personnel tab[],char prenomr[])
{
int IM,find; char NOM[20],PRENOM[20],SANG[20],SPEC[20];
FICHE_MEDECIN = fopen("personnel.txt" , "r");
find = 0;
	while (!feof(FICHE_MEDECIN))
	{fscanf(FICHE_MEDECIN,"%d %s %s %s %s",&IM,NOM,PRENOM,SPEC,SANG);
		if (strcmp(PRENOM,prenomr) == 0) 
		{tab[find].IM_PERS = IM;
		strcpy(tab[find].NOM_PERS,NOM);
		strcpy(tab[find].PRENOM_PERS,PRENOM);
		strcpy(tab[find].SPEC_PERS,SPEC);
		strcpy(tab[find].SANG_PERS,SANG);
		find++;
		}
	}
fclose(FICHE_MEDECIN);
return(find);
}

void ajouter_personnel(FILE* FICHE_MEDECIN,personnel p)
{int x;
FICHE_MEDECIN = fopen ("personnel.txt" , "a" );
x = recherche_personnel_immat(FICHE_MEDECIN,&p,p.IM_PERS);	
	if ( x != 0)
	{
	printf("cette immatricule existe deja veillez entrez une autre");
	}
else {fprintf(FICHE_MEDECIN,"%d %s %s %s %s\n",p.IM_PERS,p.NOM_PERS,p.PRENOM_PERS,p.SPEC_PERS,p.SANG_PERS);}
fclose(FICHE_MEDECIN);
}

void supprimer_personnel(FILE *FICHE_MEDECIN,int ims)
{ 
int IM; char NOM_PERS[30],PRENOM_PERS[30];
FILE *PT;
FICHE_MEDECIN = fopen ("personnel.txt", "r");
PT = fopen ("pers_temp.txt", "w");

		while (fscanf (FICHE_MEDECIN, "%d %s %s",&IM,NOM_PERS,PRENOM_PERS) == 3)
		if (IM != ims)
		fprintf (PT, "%d %s %s\n",IM,NOM_PERS,PRENOM_PERS);
fclose (FICHE_MEDECIN);
fclose (PT);

FICHE_MEDECIN = fopen("personnel.txt", "w+");
PT = fopen("pers_temp.txt","r");
	while (fscanf (PT, "%d %s %s",&IM,NOM_PERS,PRENOM_PERS) == 3)
	fprintf (FICHE_MEDECIN, "%d %s %s\n",IM,NOM_PERS,PRENOM_PERS);

fclose (FICHE_MEDECIN);
fclose (PT);
remove("pers_temp.txt");
}

int afficher_personnel_F(FILE *FICHE_MEDECIN)
{personnel p;
FICHE_MEDECIN = fopen("personnel.txt", "r");
printf("\n\n *AFFICHAGE* \n");
	while (!feof(FICHE_MEDECIN))
	{
	fscanf(FICHE_MEDECIN, "%d %s %s %s %s\n",&(p.IM_PERS),p.PRENOM_PERS,p.NOM_PERS,p.SPEC_PERS,p.SANG_PERS);
	afficher_personnel (p);
	}
fclose(FICHE_MEDECIN);
return 0;
}

void saisir_personnel_F(FILE *FICHE_MEDECIN)
{personnel p;char rep[2];int x;
FICHE_MEDECIN = fopen("personnel.txt", "w"); 
saisir_personnel(&p);
	do
	{
	printf("\ntapez o pour continuer la saisie\n");
	scanf("%s",rep);
	}
	while(strcmp(rep,"o") && strcmp(rep,"n"));
	fprintf(FICHE_MEDECIN, "%d %s %s %s %s\n",p.IM_PERS,p.PRENOM_PERS,p.NOM_PERS,p.SPEC_PERS,p.SANG_PERS);
	while (strcmp(rep,"o")==0)
	{
	saisir_personnel(&p);
	fprintf(FICHE_MEDECIN, "%d %s %s %s %s\n",p.IM_PERS,p.PRENOM_PERS,p.NOM_PERS,p.SPEC_PERS,p.SANG_PERS);
		do
		{
		printf("\ntapez o pour continuer la saisie\n");
		scanf("%s",rep);
		} while(strcmp(rep,"o") && strcmp(rep,"n"));
	}
	
fclose(FICHE_MEDECIN);
}


